"""
使用示例脚本
演示如何使用课后服务助手
"""
import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

from agent import AfterSchoolServiceAgent

# 加载环境变量
load_dotenv()


def run_example_conversation():
    """运行示例对话"""
    
    # 初始化LLM（需要先配置.env文件）
    llm = ChatOpenAI(
        model=os.getenv("MODEL_NAME", "gpt-3.5-turbo"),
        temperature=0.7
    )
    
    # 创建Agent
    agent = AfterSchoolServiceAgent(llm)
    
    print("=" * 60)
    print("示例对话演示")
    print("=" * 60)
    print()
    
    # 示例1: 预定课后服务
    print("【示例1: 预定课后服务】")
    print("-" * 60)
    
    state = None
    
    # 第一轮：表达预定意图
    user_input = "我想预定作业辅导"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    # 第二轮：提供学生姓名
    user_input = "张三"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    # 第三轮：提供日期
    user_input = "2024-01-15"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    # 第四轮：提供时间段
    user_input = "14:00-16:00"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    # 第五轮：确认预定
    user_input = "确认"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    print("=" * 60)
    print()
    
    # 示例2: 查询预定
    print("【示例2: 查询预定】")
    print("-" * 60)
    
    state = None
    user_input = "查询张三的预定"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    print("=" * 60)
    print()
    
    # 示例3: 一句话完成预定
    print("【示例3: 一句话完成预定】")
    print("-" * 60)
    
    state = None
    user_input = "帮李四预定2024-01-16下午3点到5点的数学辅导"
    print(f"用户: {user_input}")
    response, state = agent.chat(user_input, state)
    print(f"助手: {response}\n")
    
    # 确认
    if not state.get("finished"):
        user_input = "确认"
        print(f"用户: {user_input}")
        response, state = agent.chat(user_input, state)
        print(f"助手: {response}\n")
    
    print("=" * 60)


if __name__ == "__main__":
    # 检查是否配置了API Key
    if not os.getenv("OPENAI_API_KEY") or os.getenv("OPENAI_API_KEY") == "your-api-key-here":
        print("⚠️  请先在 .env 文件中配置 OPENAI_API_KEY")
        print("   提示：这个示例展示了代码的工作流程")
        print("   实际运行需要有效的 OpenAI API Key")
    else:
        run_example_conversation()
